#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "mywidget.h"

class QAction;
class QMenu;
class QToolBar;
class QStatusBar;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    // 菜单栏动作的槽函数
    void onNewFile();
    void onOpenFile();
    void onSaveFile();
    void onAbout();

private:
    // 创建菜单栏
    void createMenus();
    // 创建工具栏
    void createToolBars();
    // 创建状态栏
    void createStatusBar();
    // 初始化中心部件
    void setupCentralWidget();

    // 成员变量
    MyWidget *m_centralWidget;  // 中心部件
    QMenu *m_fileMenu;          // 文件菜单
    QMenu *m_editMenu;          // 编辑菜单
    QMenu *m_helpMenu;          // 帮助菜单
    QToolBar *m_fileToolBar;    // 文件工具栏
    QToolBar *m_editToolBar;    // 编辑工具栏
    QStatusBar *m_statusBar;    // 状态栏

    // 动作
    QAction *m_newAct;
    QAction *m_openAct;
    QAction *m_saveAct;
    QAction *m_exitAct;
    QAction *m_cutAct;
    QAction *m_copyAct;
    QAction *m_pasteAct;
    QAction *m_aboutAct;
};

#endif // MAINWINDOW_H